home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / ENET / OEMSETUP.INF < prev   
INI File  |  1996-07-31  |  38KB  |  973 lines

  1. ;
  2. ; Filename              : OEMSETUP.INF
  3. ; Operting Syste        : Windows NT v3.5
  4. ; Driver Type Supported : NDIS 3.0/3.1
  5. ; Driver Supported      : ENET.SYS v2.00
  6. ; Hardware Supported    : ENET16 P Series
  7. ;                         ENET16 VP Series
  8. ;                         ENET16 PNP Series
  9. ;
  10.  
  11. [FileConstants]
  12.    Manufacturer             = "Compex"
  13.    EnetBaseName             = "Enet"
  14.    SoftwareMajorVersion     = "2"
  15.    SoftwareMinorVersion     = "0"
  16.    AdapterNumTextList       = ^(AdapterNumChoices, 1)
  17.    AdapterNumValueList      = ^(AdapterNumChoices, 2)
  18.    InterruptTextList        = ^(InterruptChoices, 1)
  19.    InterruptValueList       = ^(InterruptChoices, 2)
  20.    CableTextList            = ^(CableChoices, 1)
  21.    CableValueList           = ^(CableChoices, 2)
  22.    MemoryBaseTextList       = ^(MemoryBaseChoices, 1)
  23.    MemoryBaseValueList      = ^(MemoryBaseChoices, 2)
  24.    NetEventDLL              = "%SystemRoot%\System32\netevent.dll"
  25.    IoLogMsgDLL              = "%SystemRoot%\System32\IoLogMsg.dll"
  26.    UtilityInf               = "UTILITY.INF"
  27.    SubroutineInf            = "SUBROUTN.INF"
  28.    SoftwareType             = "driver"
  29.    Exit_Code                = 0
  30.    SoftwareVersion          = $(SoftwareMajorVersion)"."$(SoftwareMinorVersion)
  31.    SoftwareImage            = "\SystemRoot\System32\drivers\"$(EnetBaseName)".sys"
  32.    NetRuleSoftwareType      = $(EnetBaseName)"Sys ndisDriver "$(EnetBaseName)"Driver"
  33.    NetRuleSoftwareBindForm  = """"$(EnetBaseName)"Sys"" yes no container"
  34.    NetRuleSoftwareBindable  = {""$(EnetBaseName)"Driver "$(EnetBaseName)"Adapter non exclusive 100"}
  35.    NetRuleSoftwareClass     = {""$(EnetBaseName)"Driver basic"}
  36.    NetRuleSoftwareUse       = $(SoftwareType)
  37.    NetRuleHardwareType      = $(EnetBaseName)" "$(EnetBaseName)"Adapter"
  38.    NetRuleHardwareClass     = {""$(EnetBaseName)"Adapter basic"}
  39.    NetRuleHardwareBindForm  = " yes yes container"
  40.    KeyName_SoftwareRoot     = $(!NTN_SoftwareBase)"\"$(Manufacturer)
  41.    KeyName_Software         = $(KeyName_SoftwareRoot)"\"$(EnetBaseName)"\CurrentVersion"
  42.  
  43. [AdapterNumChoices]
  44.    AdapterNum_0 = "1",1
  45.    AdapterNum_1 = "2",2
  46.    AdapterNum_2 = "3",3
  47.    AdapterNum_3 = "4",4
  48.    AdapterNum_4 = "5",5
  49.    AdapterNum_5 = "6",6
  50.    AdapterNum_6 = "7",7
  51.    AdapterNum_7 = "8",8
  52.   
  53. [InterruptChoices]
  54.    IRQ_0 = "Current Setting",0
  55.    IRQ_1 = "2",2
  56.    IRQ_2 = "3",3
  57.    IRQ_3 = "4",4
  58.    IRQ_4 = "5",5
  59.    IRQ_5 = "7",7
  60.    IRQ_6 = "10",10
  61.    IRQ_7 = "11",11
  62.    IRQ_8 = "15",15
  63.  
  64. [MemoryBaseChoices]
  65.    MemoryMap_0  = "Current Setting",0
  66.    MemoryMap_1  = "0xC0000",786432
  67.    MemoryMap_2  = "0xC2000",794624
  68.    MemoryMap_3  = "0xC4000",802816
  69.    MemoryMap_4  = "0xC6000",811008
  70.    MemoryMap_5  = "0xC8000",819200
  71.    MemoryMap_6  = "0xCA000",827392
  72.    MemoryMap_7  = "0xCC000",835584
  73.    MemoryMap_8  = "0xCE000",843776
  74.    MemoryMap_9  = "0xD0000",851968
  75.    MemoryMap_10 = "0xD2000",860160
  76.    MemoryMap_11 = "0xD4000",868352
  77.    MemoryMap_12 = "0xD6000",876544
  78.    MemoryMap_13 = "0xD8000",884736
  79.    MemoryMap_14 = "0xDA000",892928
  80.    MemoryMap_15 = "0xDC000",901120
  81.    MemoryMap_16 = "0xDE000",909312
  82.    MemoryMap_17 = "0xE0000",917504
  83.    MemoryMap_18 = "0xE2000",925696
  84.    MemoryMap_19 = "0xE4000",933888
  85.    MemoryMap_20 = "0xE6000",942080
  86.    MemoryMap_21 = "0xE8000",950272
  87.    MemoryMap_22 = "0xEA000",958464
  88.    MemoryMap_23 = "0xEC000",966656
  89.    MemoryMap_24 = "0xEE000",974848
  90.    MemoryMap_25 = "0xB0000",720896
  91.    MemoryMap_26 = "0xB2000",729088
  92.    MemoryMap_27 = "0xB4000",737280
  93.    MemoryMap_28 = "0xB6000",745472
  94.    MemoryMap_29 = "0xB8000",753664
  95.    MemoryMap_30 = "0xBA000",761856
  96.    MemoryMap_31 = "0xBC000",770048
  97.    MemoryMap_32 = "0xBE000",778240
  98.  
  99. [CableChoices]
  100.    Cable_0 = "TPI",1
  101.    Cable_1 = "BNC",2
  102.    Cable_2 = "AUI",3
  103.    Cable_3 = "Auto-Detect",5
  104.    Cable_4 = "Current Setting",4
  105.  
  106. [CpxEnetIsaDlg]
  107.    DlgType                 = "RadioCombination"
  108.    Combo1Label             = $(CableLabel)
  109.    Combo4Label             = $(AdapterNumLabel)
  110.    Combo2Label             = $(InterruptLabel)
  111.    Combo3Label             = $(MemoryLabel)
  112.    DlgTemplate             = "EE_16"
  113.    Caption                 = $(FunctionTitle)
  114.    Combo1List              = $(CableTextList)
  115.    Combo1Out               = $(CableTextDlgDefault)
  116.    Combo4List              = $(AdapterNumTextList)
  117.    Combo4Out               = $(AdapterNumTextDlgDefault)
  118.    Combo2List              = $(InterruptTextList)
  119.    Combo2Out               = $(InterruptTextDlgDefault)
  120.    Combo3List              = $(MemoryBaseTextList)
  121.    Combo3Out               = $(MemoryBaseTextDlgDefault)
  122.    RadioIn                 = {}
  123.    ComboListItemsIn        = {Combo1List,Combo2List,Combo3List,Combo4List}
  124.    ComboListItemsOut       = {Combo1Out,Combo2Out,Combo3Out,Combo4Out}
  125.    CBOptionsGreyed         = {}
  126.    EditTextIn              = ""
  127.    EditTextLim             = ""
  128.    NotifyFields            = {NO, NO, NO}
  129.    HelpContext             = 100
  130.  
  131. [Identify]
  132.    set Status          = STATUS_SUCCESSFUL
  133.    set Identifier      = NetAdapter
  134.    set Media           = #("Source Media Descriptions", 1, 1)
  135.    Return $(Status) $(Identifier) $(Media)
  136.  
  137. [ReturnOptions]
  138.    set Status          = STATUS_FAILED
  139.    set OptionList      = {}
  140.    set OptionTextList  = {}
  141.    set LanguageList    = ^(LanguagesSupported, 1)
  142.    Ifcontains(i) $($0) in $(LanguageList)
  143.       ifstr(i) $($1) == ""
  144.      goto ReturnOptions_Set
  145.       endif
  146.       set PlatformList = ^(PlatformsSupported, 1)
  147.       Ifcontains(i) $($1) in $(PlatformList)
  148.      goto ReturnOptions_Set
  149.       else
  150.      set Status = STATUS_NOTSUPPORTED
  151.      goto ReturnOptions_Exit
  152.       endif
  153.    else
  154.       set Status = STATUS_NOLANGUAGE
  155.       goto ReturnOptions_Exit
  156.    endif
  157. ReturnOptions_Set = +
  158.     set OptionList      = ^(OptList$($0), 1)
  159.     set OptionTextList  = ^(OptList$($0), 2)
  160.     set Status          = STATUS_SUCCESSFUL
  161. ReturnOptions_Exit = +
  162.     Return $(Status) $(OptionList) $(OptionTextList)
  163.  
  164. [GeneralConstants]
  165.    from                     = ""
  166.    to                       = ""
  167.    ExitCodeOk               = 0
  168.    ExitCodeCancel           = 1
  169.    ExitCodeFatal            = 2
  170.    Key_Null                 = ""
  171.    MAXIMUM_ALLOWED          = 33554432
  172.    RegistryErrorIndex       = NO_ERROR
  173.    Key_Product              = ""
  174.    Key_HardwareParameters   = ""
  175.    TRUE                     = 1
  176.    FALSE                    = 0
  177.    NoTitle                  = 0
  178.    ExitState                = "Active"
  179.    OldVersionExisted        = $(FALSE)
  180.    DriverPath               = $(!STF_NTPATH)\drivers
  181.  
  182. [date]                     
  183.    Now                      = {} ? $(!LIBHANDLE) GetSystemDate
  184.  
  185. [PlatformsSupported]
  186.    ISA
  187.    EISA
  188.    PCI
  189.    "Jazz-Internal Bus"
  190.  
  191. [Install-Option]
  192.    Debug-Output "$(STF_CONTEXTINFNAME): Entering Install-Option"
  193.    set STF_VITAL = ""
  194.    ifstr(i) $(AddCopy) == "YES"
  195.       set STF_VITAL = "YES"
  196.       AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  197.       AddSectionFilesToCopyList Files-Help $(SrcDir) $(!STF_WINDOWSSYSPATH)
  198.    endif
  199.    ifstr(i) $(DoCopy) == "YES"
  200.       set STF_VITAL = "YES"
  201.       set !STF_NCPA_FLUSH_COPYLIST = TRUE
  202.       CopyFilesInCopyList
  203.    endif
  204.    ifstr(i) $(DoConfig) == "YES"
  205.    endif
  206.    exit
  207.  
  208. [Install-Update]
  209.    Debug-Output "$(STF_CONTEXTINFNAME): Entering Install-Update"
  210.    set STF_VITAL        = "YES"
  211.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  212.    AddSectionFilesToCopyList Files-Driver  $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  213.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  214.    CopyFilesInCopyList
  215.    exit
  216.  
  217. [InstallOption]
  218.    set EnetOption = $($1)
  219.    set SrcDir    = $($2)
  220.    set AddCopy   = $($3)
  221.    set DoCopy    = $($4)
  222.    set DoConfig  = $($5)
  223.    Debug-Output "$(STF_CONTEXTINFNAME): Entering InstallOption"
  224.    Debug-Output "$(STF_CONTEXTINFNAME): STF_CWDIR: .$(!STF_CWDIR)."
  225.    Debug-Output "$(STF_CONTEXTINFNAME): STF_LANGUAGE: .$(!STF_LANGUAGE)."
  226.    Debug-Output "$(STF_CONTEXTINFNAME): !NTN_RegBase .$(!NTN_RegBase)."
  227.    Debug-Output "$(STF_CONTEXTINFNAME): !NTN_SoftwareBase .$(!NTN_SoftwareBase)."
  228.    Debug-Output "$(STF_CONTEXTINFNAME): EnetOption: .$(EnetOption). SrcDir: .$(SrcDir)."
  229.    Debug-Output "$(STF_CONTEXTINFNAME): AddCopy: .$(AddCopy). DoCopy: .$(DoCopy). DoConfig: .$(DoConfig)."
  230.    set LanguageList = ^(LanguagesSupported, 1)
  231.    Ifcontains(i) $($0) NOT-IN $(LanguageList)
  232.       Return STATUS_NOLANGUAGE
  233.    endif
  234.    set-subst LF = "\n"
  235.    read-syms GeneralConstants
  236.    read-syms FileConstants
  237.  
  238.    SetHelpFile "ENET.HLP" 100 100
  239.  
  240.    set OptionNameList           = ^(OptList$(!STF_LANGUAGE), 1 )
  241.    set OptionHdwrNameList       = ^(OptList$(!STF_LANGUAGE), 3 )
  242.    set OptionHdwrTitleList      = ^(OptList$(!STF_LANGUAGE), 4 )
  243.    set OptionHdwrDescList       = ^(OptList$(!STF_LANGUAGE), 5 )
  244.    set ProductHdwrName          = *($(OptionHdwrNameList),+
  245.                   ~($(OptionNameList), $($1)))
  246.    set ProductHdwrTitle         = *($(OptionHdwrTitleList),+
  247.                   ~($(OptionNameList), $($1)))
  248.    set ProductHdwrDesc          = *($(OptionHdwrDescList),+
  249.                   ~($(OptionNameList), $($1)))
  250.    Debug-Output "$(STF_CONTEXTINFNAME): ProductHdwrName .$(ProductHdwrName)."
  251.    Debug-Output "$(STF_CONTEXTINFNAME): ProductHdwrTitle .$(ProductHdwrTitle)."
  252.    Debug-Output "$(STF_CONTEXTINFNAME): ProductHdwrDesc .$(ProductHdwrDesc)."
  253.    read-syms DialogConstants$(!STF_LANGUAGE)
  254.    ifstr(i) $(!NTN_Origination) == "NCPA"
  255.       set Continue = "OK"
  256.    endif
  257.    read-syms FileConstants$(!STF_LANGUAGE)
  258.    detect date
  259.    set-title $(FunctionTitle)
  260.    set to   = InstallOptionDispatch
  261.    set from = InstallOptionDispatch
  262.    set CommonStatus = STATUS_SUCCESSFUL
  263.    EndWait
  264. InstallOptionDispatch = +
  265.    Debug-Output "$(STF_CONTEXTINFNAME): Entering InstallOptionDispatch"
  266.    Ifstr(i) $(!NTN_InstallMode) == deinstall
  267.       set StartLabel = RemoveAdapterFromRegistry
  268.    else-Ifstr(i) $(!NTN_InstallMode) == Update
  269.       set StartLabel = UpgradeSoftware
  270.    else-Ifstr(i) $(!NTN_InstallMode) == bind
  271.       set StartLabel = CheckAdapterBinding
  272.    else-Ifstr(i) $(!NTN_InstallMode) == configure
  273.       set StartLabel = GetAdapterConfigFromRegistry
  274.       Ifstr(i) $(KeyName_Software) == $(!NTN_RegBase)
  275.      Debug-Output "$(STF_CONTEXTINFNAME): Cannot configure driver software."
  276.      Shell $(UtilityInf), RegistryErrorString, CANNOT_CONFIGURE_SOFTWARE
  277.      ifint $($ShellCode) != $(!SHELL_CODE_OK)
  278.         set ShellErrorSection = UtilityInf:RegistryErrorString
  279.         goto ShellCodeError
  280.      endif
  281.      set Error = $($R0)
  282.      set from = InstallOptionExit
  283.      set to = InstallOptionExit
  284.      goto SetNonFatalInfo
  285.       endif
  286.    else
  287.       set StartLabel = TestForExistingInstallation
  288.       set OEM_ABANDON_OPTIONS = {}
  289.       set OEM_ABANDON_SOFTWARE = FALSE
  290.       set OEM_ABANDON_ON = TRUE
  291.    endif
  292.    set SendAllValue           = 0
  293.    set NetAdapterTypeValue    = 4
  294.    set EarlyMemDecodeValue    = 0
  295.    set WriteDebugInfoValue    = 0
  296.    set AdapterNumValue        = 1
  297.    set InterruptValue         = 0
  298.    set MemoryBaseValue        = 0
  299.    set CableValue             = 1
  300.    set BusNumberValue         = 0
  301.    set BusTypeValue           = 1
  302.    set NdisInterfaceIsa       = 1
  303.    set from                   = $(FatalError)
  304.    set to                     = $(FatalError)
  305.    goto $(StartLabel)
  306. TestForExistingInstallation = +
  307.    set OldVersionExisted = $(FALSE)
  308.    Debug-Output "$(STF_CONTEXTINFNAME): Entering TestForExistingInstallation"
  309.    OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) Key_Product
  310.    Ifstr $(Key_Product) != $(Key_Null)
  311.       CloseRegKey $(Key_Product)
  312.       ifstr(i) $(!NTN_RegBase) == $(KeyName_Software)
  313.      Shell $(UtilityInf), VerExistedDlg, $(SoftwareTitle), $(SoftwareVersion)
  314.      ifint $($ShellCode) != $(!SHELL_CODE_OK)
  315.         set ShellErrorSection = UtilityInf:VerExistedDlg
  316.         goto ShellCodeError
  317.      endif
  318.      goto end
  319.       else
  320.      Shell $(UtilityInf), CardExistedDlg
  321.      ifint $($ShellCode) != $(!SHELL_CODE_OK)
  322.         set ShellErrorSection = UtilityInf:CardExistedDlg
  323.         goto ShellCodeError
  324.      endif
  325.      ifstr(i) $($R1) == "OK"
  326.         set OldVersionExisted = $(TRUE)
  327.      else
  328.         goto InstallOptionExit
  329.      endif
  330.       endif
  331.    endif
  332. CopyAdapterFiles = +
  333.    Debug-Output "$(STF_CONTEXTINFNAME): Entering CopyAdapterFiles"
  334.    ifint $(OldVersionExisted) == $(TRUE)
  335.       ifstr(i) $(!NTN_InstallMode) == configure
  336.      goto GetAdapterConfigFromUser
  337.       endif
  338.    endif
  339.    StartWait
  340.    ifint $(OldVersionExisted) == $(FALSE)
  341.       ifstr(i) $(!NTN_InstallMode) == "install"
  342.      Ifstr(i) $(DoCopy) == "YES"
  343.         Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  344.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  345.            set ShellErrorSection = UtilityInf:DoAskSource
  346.            Goto ShellCodeError
  347.         Else-Ifstr(i) $($R0) == STATUS_FAILED
  348.            Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  349.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  350.           set ShellErrorSection = UtilityInf:RegistryErrorString
  351.           goto ShellCodeError
  352.            endif
  353.            set Error = $($R0)
  354.            Goto FatalError
  355.         Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  356.            Goto ProcessSuccessExit
  357.         Endif
  358.         Set SrcDir = $($R1)
  359.      Endif
  360.      install "Install-Option"
  361.      ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  362.         Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  363.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  364.            set ShellErrorSection = UtilityInf:RegistryErrorString
  365.            goto ShellCodeError
  366.         endif
  367.         set Error = $($R0)
  368.         goto FatalError
  369.      endif
  370.       endif
  371.    endif
  372. GetAdapterConfigFromRegistry = +
  373.    Debug-Output "$(STF_CONTEXTINFNAME): Entering GetAdapterConfigFromRegistry"
  374.    ifstr(i) $(!NTN_InstallMode) == "install"
  375.       goto GetAdapterConfigFromUser
  376.    else
  377.       Ifstr $(Key_Product) == $(Key_Null)
  378.      OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) Key_Product
  379.      Ifstr $(Key_Product) == $(Key_Null)
  380.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  381.         Debug-Output $(STF_CONTEXTINFNAME)": Cannot find component product key"
  382.         goto FatalRegistryError
  383.      Endif
  384.       Endif
  385.       Shell $(UtilityInf) FindService, $(Key_Product)
  386.       Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  387.      set ShellErrorSection = UtilityInf:FindService
  388.      Goto ShellCodeError
  389.       Endif
  390.       Ifstr(i) $($R0) != NO_ERROR
  391.      Debug-Output "$(STF_CONTEXTINFNAME): Utility:FindService error: $($R0)"
  392.      Goto FatalRegistryError
  393.       endif
  394.       set Key_HardwareParameters = $($R2)
  395.       CloseRegKey $($R1)
  396.       Ifstr $(Key_HardwareParameters) == $(Key_Null)
  397.      set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  398.      Debug-Output $(STF_CONTEXTINFNAME)": Cannot find component service"
  399.      goto FatalRegistryError
  400.       endif
  401.       set OldVersionExisted = $(TRUE)
  402.       set ValueName = ""
  403.       set ValueData = ""
  404.       set ValueStr  = ""
  405.       set ValueList = {}
  406.       EnumRegValue $(Key_HardwareParameters) ValueList
  407.       ForListDo $(ValueList)
  408.      set ValueItem = $($)
  409.      set ValueName = *($(ValueItem),1)
  410.      set ValueData = *($(ValueItem),4)
  411.      Ifstr(i) $(ValueName) == "AdapterType"
  412.         set AdapterTypeValue  = $(ValueData)
  413.      else-Ifstr(i) $(ValueName) == "BusNumber"
  414.         set BusNumberValue  = $(ValueData)
  415.      else-Ifstr(i) $(ValueName) == "BusType"
  416.         set BusTypeValue  = $(ValueData)
  417.      else-Ifstr(i) $(ValueName) == "AdapterNum"
  418.         set AdapterNumValue  = $(ValueData)
  419.      else-Ifstr(i) $(ValueName) == "Irq"
  420.         set InterruptValue  = $(ValueData)
  421.      else-Ifstr(i) $(ValueName) == "Cable"
  422.         set CableValue  = $(ValueData)
  423.      else-Ifstr(i) $(ValueName) == "RamAddress"
  424.         set MemoryBaseValue  = $(ValueData)
  425.      else-Ifstr(i) $(ValueName) == "SendAll"
  426.         set SendAllValue  = $(ValueData)
  427.      else-Ifstr(i) $(ValueName) == "NetAdapterType"
  428.         set NetAdapterTypeValue  = $(ValueData)
  429.      else-Ifstr(i) $(ValueName) == "EarlyMemDecode"
  430.         set EarlyMemDecodeValue  = $(ValueData)
  431.      else-Ifstr(i) $(ValueName) == "WriteDebugInfo"
  432.         set WriteDebugInfoValue  = $(ValueData)
  433.      endif
  434.      Debug-Output "$(STF_CONTEXTINFNAME): $(ValueName) == .$(ValueData)."
  435.       EndForListDo
  436.    Endif
  437. GetAdapterConfigFromUser = +
  438.    Debug-Output "$(STF_CONTEXTINFNAME): Entering GetAdapterConfigFromUser"
  439.    set from = GetAdapterConfigFromUser
  440.    set InterruptTextDlgDefault      = *($(InterruptTextList),+
  441.                       ~($(InterruptValueList), +
  442.                        $(InterruptValue)))
  443.    set AdapterNumTextDlgDefault     = *($(AdapterNumTextList),+
  444.                       ~($(AdapterNumValueList), +
  445.                        $(AdapterNumValue)))
  446.    set MemoryBaseTextDlgDefault     = *($(MemoryBaseTextList),+
  447.                       ~($(MemoryBaseValueList), +
  448.                        $(MemoryBaseValue)))
  449.    set CableTextDlgDefault          = *($(CableTextList),+
  450.                       ~($(CableValueList), +
  451.                        $(CableValue)))
  452.    ifstr(i) $(EnetOption) == "$enet"
  453.       read-syms CpxEnetIsaDlg
  454.    else-ifstr(i) $(EnetOption) == "$enet"
  455.       read-syms CpxEnetIsaDlg
  456.    else
  457.       read-syms CpxEnetIsaDlg
  458.    endif
  459.    ui start "InputDlg"
  460.    ifstr(i) $(DLGEVENT) == "CONTINUE"
  461.      set CableValue       = *($(CableValueList),+
  462.                 ~($(CableTextList),+
  463.                  $(Combo1Out)))
  464.      set InterruptValue   = *($(InterruptValueList),+
  465.                 ~($(InterruptTextList),+
  466.                   $(Combo2Out)))
  467.      set AdapterNumValue  = *($(AdapterNumValueList),+
  468.                 ~($(AdapterNumTextList),+
  469.                   $(Combo4Out)))
  470.      set MemoryBaseValue  = *($(MemoryBaseValueList),+
  471.                 ~($(MemoryBaseTextList),+
  472.                  $(Combo3Out)))
  473.       ui pop 1
  474.       Debug-Output "$(STF_CONTEXTINFNAME): After Dialog..."
  475.       Debug-Output "$(STF_CONTEXTINFNAME): InterruptValue  == .$(InterruptValue)."
  476.       Debug-Output "$(STF_CONTEXTINFNAME): AdapterNumValue == .$(AdapterNumValue)."
  477.       Debug-Output "$(STF_CONTEXTINFNAME): CableValue      == .$(CableValue)."
  478.       Debug-Output "$(STF_CONTEXTINFNAME): MemoryBaseValue == .$(MemoryBaseValue)."
  479.    else-ifstr(i) $(DLGEVENT) == "CANCEL"
  480.       set CommonStatus = STATUS_USERCANCEL
  481.       Debug-Output "$(STF_CONTEXTINFNAME): Dialog Action Exit. Bye."
  482.       ui pop 1
  483.       goto InstallOptionExit
  484.    else
  485.       set CommonStatus = STATUS_USERCANCEL
  486.       ui pop 1
  487.       Debug-Output "$(STF_CONTEXTINFNAME): Dialog Action Unknown.  Bye."
  488.       goto InstallOptionExit
  489.    endif
  490. AddAdapterSoftwareToRegistry = +
  491.    Ifstr(i) $(!NTN_InstallMode) == configure
  492.       goto AddAdapterConfigurationToRegistry
  493.    Endif
  494.    ifint $(OldVersionExisted) == $(TRUE)
  495.       goto AddAdapterHardwareToRegistry
  496.    Endif
  497.    Shell $(UtilityInf), +
  498.      AddSoftwareComponent, +
  499.      $(Manufacturer), +
  500.      $(EnetBaseName), +
  501.      $(EnetBaseName), +
  502.      $(SoftwareTitle), +
  503.      $(STF_CONTEXTINFNAME), +
  504.      $(SoftwareImage), +
  505.      "kernel", "NDIS", {}, "",+
  506.      $(NetEventDLL)
  507.    Set OEM_ABANDON_SOFTWARE = TRUE
  508.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  509.       set ShellErrorSection = UtilityInf:AddSoftwareComponent
  510.       goto ShellCodeError
  511.    endif
  512.    set RegistryErrorIndex = $($R0)
  513.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  514.       EndWait
  515.       Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add component error"
  516.       CloseRegKey $($R1)
  517.       CloseRegKey $($R2)
  518.       CloseRegKey $($R3)
  519.       CloseRegKey $($R4)
  520.       CloseRegKey $($R5)
  521.       goto FatalRegistryError
  522.    endif
  523.    Set Key_SoftwareProduct    = $($R1)
  524.    Set Key_SoftwareNetRules   = $($R2)
  525.    CloseRegKey $($R3)
  526.    CloseRegKey $($R4)
  527.    CloseRegKey $($R5)
  528.    set NewValueList = {+
  529.        {SoftwareType, $(NoTitle), $(!REG_VT_SZ),    $(SoftwareType)},+
  530.        {MajorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMajorVersion)},+
  531.        {MinorVersion, $(NoTitle), $(!REG_VT_DWORD), $(SoftwareMinorVersion)},+
  532.        {Title,        $(NoTitle), $(!REG_VT_SZ),    $(SoftwareTitle)},+
  533.        {Description,  $(NoTitle), $(!REG_VT_SZ),    $(SoftwareDescription)},+
  534.        {ServiceName,  $(NoTitle), $(!REG_VT_SZ),    $(EnetBaseName)},+
  535.        {InstallDate,  $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)}+
  536.        }
  537.    Shell  $(UtilityInf), AddValueList, $(Key_SoftwareProduct), $(NewValueList)
  538.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  539.       set ShellErrorSection = UtilityInf:AddValueList
  540.       goto ShellCodeError
  541.    endif
  542.    Set RegistryErrorIndex = $($R0)
  543.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  544.       EndWait
  545.       Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add value list error"
  546.       CloseRegKey $(Key_SoftwareProduct)
  547.       CloseRegKey $(Key_SoftwareNetRules)
  548.       goto FatalRegistryError
  549.    endif
  550.    Set NewValueList = {+
  551.        {type,      $(NoTitle), $(!REG_VT_SZ),       $(NetRuleSoftwareType)},+
  552.        {use,       $(NoTitle), $(!REG_VT_SZ),       $(NetRuleSoftwareUse)}, +
  553.        {bindform,  $(NoTitle), $(!REG_VT_SZ),       $(NetRuleSoftwareBindForm)}, +
  554.        {class,     $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleSoftwareClass)}, +
  555.        {bindable,  $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleSoftwareBindable)}, +
  556.        {InfOption, $(NoTitle), $(!REG_VT_SZ),       $(EnetOption)}+
  557.        }
  558.    Shell  $(UtilityInf), AddValueList, $(Key_SoftwareNetRules), $(NewValueList)
  559.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  560.       set ShellErrorSection = UtilityInf:AddValueList
  561.       goto ShellCodeError
  562.    endif
  563.    Set RegistryErrorIndex = $($R0)
  564.    CloseRegKey $(Key_SoftwareProduct)
  565.    CloseRegKey $(Key_SoftwareNetRules)
  566.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  567.       EndWait
  568.       Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterSoftware - add NetRule error"
  569.       goto FatalRegistryError
  570.    endif
  571. AddAdapterHardwareToRegistry = +
  572.    Shell $(UtilityInf), +
  573.      AddHardwareComponent, +
  574.      $(ProductHdwrName), +
  575.      $(STF_CONTEXTINFNAME), +
  576.      $(KeyName_Software)
  577.    ifint $($R4) != -1
  578.       Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  579.    endif
  580.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  581.       set ShellErrorSection = UtilityInf:AddHardwareComponent
  582.       goto ShellCodeError
  583.    endif
  584.    set RegistryErrorIndex = $($R0)
  585.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  586.       EndWait
  587.       Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterHardware - add component error"
  588.       CloseRegKey $($R1)
  589.       CloseRegKey $($R2)
  590.       CloseRegKey $($R3)
  591.       goto FatalRegistryError
  592.    endif
  593.    set Key_HardwareNetRules   = $($R2)
  594.    set Key_HardwareParameters = $($R3)
  595.    set AdapterNumber          = $($R4)
  596.    set NewValueList = {+
  597.        {Manufacturer, $(NoTitle), $(!REG_VT_SZ),    $(Manufacturer)},+
  598.        {Title,        $(NoTitle), $(!REG_VT_SZ),    "["$($R4)"] "$(ProductHdwrTitle)},+
  599.        {Description,  $(NoTitle), $(!REG_VT_SZ),    $(ProductHdwrDesc)},+
  600.        {ProductName,  $(NoTitle), $(!REG_VT_SZ),    $(ProductHdwrName)},+
  601.        {ServiceName,  $(NoTitle), $(!REG_VT_SZ),    $($R5)},+
  602.        {InstallDate,  $(NoTitle), $(!REG_VT_DWORD), *($(Now),1)}+
  603.        }
  604.    Shell $(UtilityInf), AddValueList, $($R1),  $(NewValueList)
  605.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  606.       set ShellErrorSection = UtilityInf:AddValueList
  607.       goto ShellCodeError
  608.    endif
  609.    CloseRegKey $($R1)
  610.    set TempProdName = """"$(ProductHdwrName)$(AdapterNumber)""""
  611.    set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  612.    set NewValueList = {+
  613.        {type,      $(NoTitle), $(!REG_VT_SZ),       $(NetRuleHardwareType)},+
  614.        {bindform,  $(NoTitle), $(!REG_VT_SZ),       $(TempBindForm)}, +
  615.        {class,     $(NoTitle), $(!REG_VT_MULTI_SZ), $(NetRuleHardwareClass)}, +
  616.        {InfOption, $(NoTitle), $(!REG_VT_SZ),       $(EnetOption)}+
  617.        }
  618.    Shell  $(UtilityInf), AddValueList, $(Key_HardwareNetRules), $(NewValueList)
  619.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  620.       set ShellErrorSection = UtilityInf:AddValueList
  621.       goto ShellCodeError
  622.    endif
  623.    set RegistryErrorIndex = $($R0)
  624.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  625.       EndWait
  626.       Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterHardware - add NetRule error"
  627.       CloseRegKey $(Key_HardwareParameters)
  628.       CloseRegKey $(Key_HardwareNetRules)
  629.       goto FatalRegistryError
  630.    endif
  631.    CloseRegKey $(Key_HardwareNetRules)
  632.    goto AddAdapterConfigurationToRegistry
  633. AddAdapterConfigurationToRegistry = +
  634.    Debug-Output "$(STF_CONTEXTINFNAME): Entering AddAdapterConfigurationToRegistry"
  635.    Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
  636.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  637.       Shell $(UtilityInf), GetBusTypeNum
  638.       ifint $($ShellCode) != $(!SHELL_CODE_OK)
  639.      set ShellErrorSection = UtilityInf:GetBusTypeNum
  640.      goto ShellCodeError
  641.       else
  642.      set BusTypeValue = $($R1)
  643.      set BusNumberValue = 0
  644.       endif
  645.    else
  646.       set BusTypeValue = $($R1)
  647.       set BusNumberValue = $($R2)
  648.    endif
  649.    ifstr(i) $(EnetOption) == "$enet"
  650.       set NewValueList = {+
  651.       {AdapterType,      $(NoTitle), $(!REG_VT_DWORD), $(NdisInterfaceIsa)},+
  652.       {BusNumber,        $(NoTitle), $(!REG_VT_DWORD), $(BusNumberValue)},+
  653.       {BusType,          $(NoTitle), $(!REG_VT_DWORD), $(BusTypeValue)},+
  654.       {Irq,              $(NoTitle), $(!REG_VT_DWORD), $(InterruptValue)},+
  655.       {Cable,            $(NoTitle), $(!REG_VT_DWORD), $(CableValue)},+
  656.       {RamAddress,       $(NoTitle), $(!REG_VT_DWORD), $(MemoryBaseValue)},+
  657.       {SendAll,          $(NoTitle), $(!REG_VT_DWORD), $(SendAllValue)},+
  658.       {NetAdapterType,   $(NoTitle), $(!REG_VT_DWORD), $(NetAdapterTypeValue)},+
  659.       {EarlyMemDecode,   $(NoTitle), $(!REG_VT_DWORD), $(EarlyMemDecodeValue)},+ 
  660.       {WriteDebugInfo,   $(NoTitle), $(!REG_VT_DWORD), $(WriteDebugInfoValue)},+  
  661.       {AdapterNum,       $(NoTitle), $(!REG_VT_DWORD), $(AdapterNumValue)},+
  662.       }
  663.    else-ifstr(i) $(EnetOption) == "$enet"
  664.       set NewValueList = {+
  665.       {AdapterType,      $(NoTitle), $(!REG_VT_DWORD), $(NdisInterfaceIsa)},+
  666.       {BusNumber,        $(NoTitle), $(!REG_VT_DWORD), $(BusNumberValue)},+
  667.       {BusType,          $(NoTitle), $(!REG_VT_DWORD), $(BusTypeValue)},+
  668.       {Irq,              $(NoTitle), $(!REG_VT_DWORD), $(InterruptValue)},+
  669.       {Cable,            $(NoTitle), $(!REG_VT_DWORD), $(CableValue)},+
  670.       {RamAddress,       $(NoTitle), $(!REG_VT_DWORD), $(MemoryBaseValue)},+
  671.       {SendAll,          $(NoTitle), $(!REG_VT_DWORD), $(SendAllValue)},+
  672.       {NetAdapterType,   $(NoTitle), $(!REG_VT_DWORD), $(NetAdapterTypeValue)},+
  673.       {EarlyMemDecode,   $(NoTitle), $(!REG_VT_DWORD), $(EarlyMemDecodeValue)},+ 
  674.       {WriteDebugInfo,   $(NoTitle), $(!REG_VT_DWORD), $(WriteDebugInfoValue)},+  
  675.       {AdapterNum,       $(NoTitle), $(!REG_VT_DWORD), $(AdapterNumValue)},+
  676.       }
  677.    else
  678.       set NewValueList = {+
  679.       {AdapterType,      $(NoTitle), $(!REG_VT_DWORD), $(NdisInterfaceIsa)},+
  680.       {BusNumber,        $(NoTitle), $(!REG_VT_DWORD), $(BusNumberValue)},+
  681.       {BusType,          $(NoTitle), $(!REG_VT_DWORD), $(BusTypeValue)},+
  682.       {Irq,              $(NoTitle), $(!REG_VT_DWORD), $(InterruptValue)},+
  683.       {Cable,            $(NoTitle), $(!REG_VT_DWORD), $(CableValue)},+
  684.       {RamAddress,       $(NoTitle), $(!REG_VT_DWORD), $(MemoryBaseValue)},+
  685.       {SendAll,          $(NoTitle), $(!REG_VT_DWORD), $(SendAllValue)},+
  686.       {NetAdapterType,   $(NoTitle), $(!REG_VT_DWORD), $(NetAdapterTypeValue)},+
  687.       {EarlyMemDecode,   $(NoTitle), $(!REG_VT_DWORD), $(EarlyMemDecodeValue)},+ 
  688.       {WriteDebugInfo,   $(NoTitle), $(!REG_VT_DWORD), $(WriteDebugInfoValue)},+  
  689.       {AdapterNum,       $(NoTitle), $(!REG_VT_DWORD), $(AdapterNumValue)},+
  690.       }
  691.    Endif
  692.    Shell  $(UtilityInf), AddValueList, $(Key_HardwareParameters), $(NewValueList)
  693.    CloseRegKey $(Key_HardwareParameters)
  694.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  695.       set ShellErrorSection = UtilityInf:AddValueList
  696.       goto ShellCodeError
  697.    endif
  698.    set RegistryErrorIndex = $($R0)
  699.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  700.       Debug-Output $(STF_CONTEXTINFNAME)": AddAdapterConfiguration - add value list error"
  701.       goto FatalRegistryError
  702.    endif
  703.    EndWait
  704.    goto ProcessSuccessExit
  705. CheckAdapterBinding =+
  706.    Debug-Output "$(STF_CONTEXTINFNAME): Entering CheckAdapterBinding"
  707.    set Error = "CheckAdapterBinding: not required for this adapter"
  708.    goto FatalError
  709. RemoveAdapterFromRegistry = +
  710.    Debug-Output "$(STF_CONTEXTINFNAME): Entering RemoveAdapterFromRegistry"
  711.    OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) KeyToReferenceCount
  712.    Ifstr $(KeyToReferenceCount) == ""
  713.       Debug-Output "$(STF_CONTEXTINFNAME): Could not open Software Base Key"
  714.       set RefCountBeforeRemove = 2
  715.       goto InstallOptionExit
  716.    endif
  717.    GetRegValue $(KeyToReferenceCount),"RefCount", RefCountInfo
  718.    set RefCountBeforeRemove = *($(RefCountInfo), 4)
  719.    CloseRegKey $(KeyToReferenceCount)
  720.    Debug-Output "$(STF_CONTEXTINFNAME): Removing Hardware Component"
  721.    Shell $(UtilityInf), +
  722.      RemoveHardwareComponent, +
  723.      $(Manufacturer), +
  724.      $(EnetBaseName), +
  725.      $(!NTN_RegBase)
  726.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  727.       set ShellErrorSection = UtilityInf:RemoveHardwareComponent
  728.       goto ShellCodeError
  729.    endif
  730.    Ifstr(i) $($R0) != NO_ERROR
  731.       Ifstr(i) $($R0) != REF_COUNT_NOT_ZERO
  732.      goto FatalRegistryError
  733.       endif
  734.    endif
  735.    ifint $(RefCountBeforeRemove) == 1
  736.       OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_SoftwareRoot) $(MAXIMUM_ALLOWED) Key_SoftwareRoot
  737.       EnumRegKey $(Key_SoftwareRoot) KeyList
  738.       EnumRegValue $(Key_SoftwareRoot) ValueList
  739.       CloseRegKey $(Key_SoftwareRoot)
  740.       Debug-Output "$(STF_CONTEXTINFNAME): Reg Key .$(KeyName_SoftwareRoot). opened"
  741.       Debug-Output "$(STF_CONTEXTINFNAME): KeyList == .$(KeyList)."
  742.       Debug-Output "$(STF_CONTEXTINFNAME): ValueList == .$(ValueList)."
  743.       ifstr $(KeyList) == "{}"
  744.      ifstr $(ValueList) == "{}"
  745.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase) $(MAXIMUM_ALLOWED) Key_SoftwareBase
  746.         DeleteRegKey $(Key_SoftwareBase) $(Manufacturer)
  747.         CloseRegKey $(Key_SoftwareBase)
  748.      endif
  749.       endif
  750.    endif
  751.    goto InstallOptionExit
  752. UpgradeSoftware = +
  753.    Debug-Output "$(STF_CONTEXTINFNAME): Entering UpgradeSoftware"
  754.    ifstr(i) $(KeyName_Software) == $(!NTN_RegBase)
  755.       OpenRegKey $(!REG_H_LOCAL) "" $(KeyName_Software) $(MAXIMUM_ALLOWED) Key_Product
  756.       Ifstr $(Key_Product) != $(Key_Null)
  757.      GetRegValue $(Key_Product),"MajorVersion", VersionInfo
  758.      set Version = *($(VersionInfo), 4)
  759.      Shell $(UtilityInf), GetInfFileNameFromRegistry, $(Key_Product)
  760.      ifint $($ShellCode) != $(!SHELL_CODE_OK)
  761.         set ShellErrorSection = UtilityInf:GetFileNameFromRegistry
  762.         goto ShellCodeError
  763.      endif
  764.      set !UG_Filename = $($R0)
  765.      ifstr(i) $(!UG_Filename) != ""
  766.         install "Install-Update"
  767.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  768.            goto FatalError
  769.         endif
  770.      endif
  771.      SetRegValue $(Key_Product) {MajorVersion, $(NoTitle), $(!REG_VT_SZ), $(SoftwareMajorVersion)}
  772.      SetRegValue $(Key_Product) {MinorVersion, $(NoTitle), $(!REG_VT_SZ), $(SoftwareMinorVersion)}
  773.      ifint $(Version) != $(SoftwareVersion)
  774.         Debug-Output "$(STF_CONTEXTINFNAME): Version .$(Version). != SoftwareVersion .$(SoftwareVersion)."
  775.      endif
  776.      CloseRegKey $(Key_Product)
  777.       else
  778.      goto FatalRegistryError
  779.       endif
  780.    else
  781.       OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) NetworkCardKey
  782.       Ifstr(i) $(NetworkCardKey) != $(Key_Null)
  783.      GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  784.      set ServiceName = *($(ServiceNameInfo), 4)
  785.      OpenRegKey $(NetworkCardKey) "" "NetRules" $(MAXIMUM_ALLOWED) NetRuleKey
  786.      Ifstr(i) $(NetRuleKey) != $(Key_Null)
  787.         Debug-Output "$(STF_CONTEXTINFNAME): NetRuleKey .$(NetRuleKey). != Key_Null .$(Key_Null)."
  788.      else
  789.         goto FatalRegistryError
  790.      endif
  791.      CloseRegKey $(NetRules)
  792.      CloseRegKey $(NetworkCardKey)
  793.       else
  794.      goto FatalRegistryError
  795.       endif
  796.       OpenRegKey $(!REG_H_LOCAL) +
  797.          "" $(!NTN_ServiceBase)"\"$(ServiceName) +
  798.          $(MAXIMUM_ALLOWED) +
  799.          ServiceKey
  800.       Ifstr(i) $(ServiceKey) != $(Key_Null)
  801.      CloseRegKey $(ServiceKey)
  802.       else
  803.      goto FatalRegistryError
  804.       endif
  805.    endif
  806.    goto InstallOptionExit
  807. ProcessSuccessExit = +
  808.    goto InstallOptionExit
  809. ProcessAbandonInstall = +
  810.    ForListDo $(OEM_ABANDON_OPTIONS)
  811.       Shell $(UtilityInf), +
  812.         RemoveHardwareComponent, +
  813.         $(Manufacturer), +
  814.         $(EnetBaseName), +
  815.         $($)
  816.       ifint $($ShellCode) != $(!SHELL_CODE_OK)
  817.      set ShellErrorSection = UtilityInf:RemoveHardwareComponent
  818.      goto ShellCodeError
  819.       endif
  820.       set RegistryErrorIndex = $($R0)
  821.       Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  822.      goto FatalRegistryError
  823.       endif
  824.    EndForListDo
  825.    Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  826.       Shell $(UtilityInf), +
  827.         RemoveSoftwareComponent, +
  828.         $(Manufacturer), +
  829.         $(EnetBaseName), +
  830.         FALSE
  831.       ifint $($ShellCode) != $(!SHELL_CODE_OK)
  832.      set ShellErrorSection = UtilityInf:RemoveSoftwareComponent
  833.      goto ShellCodeError
  834.       endif
  835.       set RegistryErrorIndex = $($R0)
  836.       Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  837.      goto FatalRegistryError
  838.       endif
  839.    endif
  840.    goto InstallOptionExit
  841. ProcessWarningMessage = +
  842.    Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  843.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  844.       set ShellErrorSection = SubroutineInf:SetupMessage
  845.       goto ShellCodeError
  846.    endif
  847.    ifstr(i) $($R1) == "OK"
  848.       goto $(to)
  849.    else-ifstr(i) $($R1) == "CANCEL"
  850.       goto $(from)
  851.    else
  852.       goto "InstallOptionExit"
  853.    endif
  854. SetNonFatalInfo = +
  855.    Set CommonStatus = STATUS_USERCANCEL
  856.    Set Severity = STATUS
  857.    goto ProcessNonFatalMessage
  858. ProcessNonFatalMessage = +
  859.    ifstr(i) $(Error) == ""
  860.       Set Severity = NONFATAL
  861.       Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  862.       ifint $($ShellCode) != $(!SHELL_CODE_OK)
  863.      set ShellErrorSection = UtilityInf:RegistryErrorString
  864.      goto ShellCodeError
  865.       endif
  866.       set Error = $($R0)
  867.    endif
  868.    Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  869.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  870.       set ShellErrorSection = SubroutineInf:SetupMessage
  871.       goto ShellCodeError
  872.    endif
  873.    ifstr(i) $($R1) == "OK"
  874.       goto $(from)
  875.    else
  876.       goto "InstallOptionExit"
  877.    endif
  878. FatalRegistryError = +
  879.    Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  880.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  881.       set ShellErrorSection = UtilityInf:RegistryErrorString
  882.       goto ShellCodeError
  883.    endif
  884.    set Error = $($R0)
  885.    goto FatalError
  886. FatalError = +
  887.    ifstr(i) $(Error) == ""
  888.       Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  889.       ifint $($ShellCode) != $(!SHELL_CODE_OK)
  890.      set ShellErrorSection = UtilityInf:RegistryErrorString
  891.      goto ShellCodeError
  892.       endif
  893.       set Error = $($R0)
  894.    endif
  895.    Shell $(SubroutineInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  896.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  897.       set ShellErrorSection = UtilityInf:SetupMessage
  898.       goto ShellCodeError
  899.    endif
  900.    goto SetFailedStatusAndExit
  901. ShellCodeError = +
  902.    Debug-Output $(STF_CONTEXTINFNAME)": Shell error, $(ShellErrorSection)"
  903.    set DlgType      = "MessageBox"
  904.    set STF_MB_TITLE = "Error: "$(FunctionTitle)
  905.    set STF_MB_TEXT  = "Shell Code Error"
  906.    set STF_MB_TYPE  = 1
  907.    set STF_MB_ICON  = 3
  908.    set STF_MB_DEF   = 1
  909.    ui start "Error Message"
  910.    goto SetFailedStatusAndExit
  911. SetFailedStatusAndExit = +
  912.    set CommonStatus = STATUS_FAILED
  913.    ifstr(i) $(OEM_ABANDON_ON) == TRUE
  914.       set OEM_ABANDON_ON = FALSE
  915.       goto ProcessAbandonInstall
  916.    endif
  917.    goto InstallOptionExit
  918. InstallOptionExit = +
  919.    Return $(CommonStatus)
  920.  
  921. [Source Media Descriptions]
  922.      1 = "Compex ENET16 P/PNP Series Ethernet Adapter Disk" 
  923.  
  924. [Signature]
  925.     FileType = MICROSOFT_DRVLIB_FILE
  926. [GetSignature]
  927.     read-syms Signature
  928.     return $(FileType)
  929.  
  930. [ProductType]
  931. STF_PRODUCT  = Winnt
  932. STF_PLATFORM = I386
  933.  
  934. [Files-Inf]
  935. 1,      oemsetup.inf,    SIZE=1000,     RENAME=$(!UG_Filename)
  936.  
  937. [Files-Driver]
  938. 1,ENET.SYS , SIZE=12288
  939.  
  940. [Files-Help]
  941. 1,ENET.HLP , SIZE=9999
  942.  
  943. [OptListENG]
  944.    OptList_1 = $enet "Compex ENET16 P/PNP Ethernet Adapter",     "enet", "Compex ENET16 P/PNP Ethernet Adapter", "Compex ENET16 P/PNP Ethernet Adapter"
  945.  
  946. [FileConstantsENG]
  947.    ProCaption              = "Windows NT Setup"
  948.    ProCancel               = "Cancel"
  949.    ProCancelMsg            = "Your Windows NT Networking "+
  950.                  "Adapter is not correctly installed.  Are "+
  951.                  "you sure you want to cancel copying files?"
  952.    ProCancelCap            = "Network Setup Message"
  953.    ProText1                = "Copying:"
  954.    ProText2                = "To:"
  955.    SoftwareTitle           = "Compex ENET16 Ethernet Adapter Driver"
  956.    SoftwareDescription     = "Compex ENET16 Ethernet Adapter Driver"
  957.  
  958. [DialogConstantsENG]
  959.    Help                    = "&Help"
  960.    Exit                    = "Cancel"
  961.    OK                      = "OK"
  962.    HelpContext             = ""
  963.    Continue                = "Continue"
  964.    Cancel                  = "Cancel"
  965.    FunctionTitle           = "Compex ENET16 P/PNP Adapter Setup"
  966.    InterruptLabel          = "&IRQ"
  967.    AdapterNumLabel         = "&Adapter Number"
  968.    CableLabel              = "&Cable Type"
  969.    MemoryLabel             = "&Memory Address"
  970.  
  971. [LanguagesSupported]
  972.    ENG
  973.